SPM: Fix pointer to MP info in boot info struct
authorAntonio Nino Diaz <[email protected]>
Fri, 10 Nov 2017 12:25:49 +0000 (12:25 +0000)
committerAntonio Nino Diaz <[email protected]>
Fri, 10 Nov 2017 15:21:31 +0000 (15:21 +0000)
The MP info struct is placed right after the boot info struct. However,
when calculating the address of the MP info, the size of the boot info
struct was being multiplied by the size of the MP boot info. This left
a big gap of empty space between the structs.

This didn't break any code because the boot info struct has a pointer to
the MP info struct. It was just wasting space.

Change-Id: I1668e3540d9173261968f6740623549000bd48db
Signed-off-by: Antonio Nino Diaz <[email protected]>
services/std_svc/spm/secure_partition_setup.c

index 6624e2b4b892e3c9cda316f0e713df63d72edbe9..673016083f081ae2047987fab4441414e341c888 100644 (file)
@@ -270,8 +270,8 @@ void secure_partition_setup(void)
         * be populated, just after the boot info.
         */
        ((secure_partition_boot_info_t *) shared_buf_ptr)->mp_info =
-               ((secure_partition_mp_info_t *) shared_buf_ptr) +
-               sizeof(secure_partition_boot_info_t);
+               (secure_partition_mp_info_t *) ((uintptr_t)shared_buf_ptr
+                               + sizeof(secure_partition_boot_info_t));
 
        /*
         * Update the shared buffer pointer to where the MP information for the